// before(num,fn)接受两个参数，第一个参数是数字，第二个参数是函数，调用before函数num次数以内，返回与fn执行相同的结果，超过num次数返回最后一次fn的执行结果。考闭包的使用
function before(num, fn) {
    let count = 0
    let beforeNumRes
    return function (...args) {
        // 是否超过此数判断
        if (num > count) {
            // 函数调用
            beforeNumRes = fn(...args)
        }
        count += 1
        return beforeNumRes
    }
}
// 这里将before函数中返回的函数接收到了 下面就一直调用这个函数了
let func = before(3, (a, b) => a + b)
console.log(func(1, 2)); // 3
console.log(func(2, 3)); // 5
console.log(func(1, 6)); // 7
// 此时已经超过了次数 故结果为7
console.log(func(1, 8)); // 7
